1. Field of the Invention
The present invention relates generally to an apparatus and method for generating scrambling codes in a mobile communication system, and more particularly, to an apparatus and method for generating a plural scrambling code using masking codes.
2. Description of the Related Art
A code division multiple access mobile communication system (hereinafter, referred to as “CDMA system”) uses scrambling codes for the purpose of separating base stations. The European W-CDMA system, UMTS (Universal Mobile Telecommunication System) generates multiple scrambling codes classified into a plural scrambling code group of a predetermined length. As a method for increasing capacity in addition to separation of base stations, which is the objective of using the scrambling codes in the CDMA system, orthogonal codes for multiple scrambling code groups are used to separate channels. That is, when all orthogonal codes for channel separation are used up for a scrambling code group, the mobile communication system may utilize a second scrambling code group to increase the number of available communication links. The UMTS mobile communication system uses a gold sequence with a length of 218−1 as scrambling codes in order to have multiple scrambling codes (one primary scrambling code and multiple secondary scrambling code in one base station) constituted by multiple scrambling code groups. The gold sequence with a length of 218−1 includes a group of 218−1 distinct gold codes. The gold sequences of the same group have a good correlation characteristic with one another. Here, the gold sequence with a length of 218−1 is divided into 38400 chips and repeatedly used for scrambling.
Each base station in the UMTS mobile communication systems has a unique scrambling code called “primary scrambling code” that is used to allow terminals to differentiate each base station from other base stations in the system. Also the each unique scrambling code used for spreading (scrambling) downlink channel signals of each base stations is referred to as “primary scrambling code”, and one of the scrambling code group used for scrambling downlink data channels in case that an orthogonal codes is not available using the primary scrambling code is called “secondary scrambling code”. The base station user its unique primary scrambling codes for spreading(scrambling) common control channel signals transmitted to all mobile stations with corresponding orthogonal code, for spreading(scrambling) data channel signals transmitted to currently communicating mobile stations with corresponding orthogonal codes which are assigned to each of the data channel signals for downlink channel separation. The base station has its unique primary scrambling codes in order for a mobile station to discriminate the base station from adjacent ones. Namely, the number of the primary scrambling codes used must be large enough, e.g., 512 lest that the mobile station should concurrently detect signals of base stations sharing the same primary scrambling codes. Thus the individual adjacent base stations use distinct primary scrambling codes among the 512 primary scrambling codes. When there exists no more orthogonal code with a primary scrambling code to be allocated for channel separation, the individual base station uses secondary scrambling code selected from its multiple secondary scrambling code groups corresponding to the primary scrambling codes used.
An exemplary unit using the multiple scrambling codes is a downlink in the UMTS system. It should be noted that for the purpose of illustration, the term “scrambling code” is interchangeable with the term “gold code” or “gold sequence” indicating the same code as the scrambling code.
FIG. 1 is a schematic diagram showing the structure of a downlink transmitter in the UMTS mobile communication system.
Referring to FIG. 1, upon receiving a dedicated physical control channel DPCCH and dedicated physical data channels DPDCH1, . . . , and DPDCHN, which are previously channel-coded and interleaved, demultiplexers 100-104 (corresponding in number to the number of physical data channels N plus one for the DPCCH) divide the dedicated physical control channel DPCCH and the dedicated physical data channels DPDCH1, . . . , and DPDCHN into I (In-phase) and Q (Quadrature) channels. The I and Q channels separately output from the demultiplexer 101 are fed into multipliers 110 and 111, respectively. The multipliers 110 and 111 multiply the I and Q channels by an orthogonal code 1 for channel separation, respectively, and send the output to a scrambler 120. Similarly, the I and Q channels separately output from the demultiplexers 102 through 104 are subjected to the same operation as described above and fed into N scramblers 124 through 128, respectively. Then, a scrambling code group generator 100 generates secondary scrambling codes corresponding to the scramblers 120, 124 through 128 and outputs them to the corresponding scramblers. Here, the scramblers 120, 124 through 128 multiply the output signals of the corresponding multipliers by the output signals of the scrambling code group generator 100 in a complex mode, to output the real parts of the scrambled signals to a summer 130 and the imaginary parts of the scrambled signals to a summer 135. The summer 130 sums up the real parts of the scrambled signals from the scramblers 120, 124 through 128, while the summer 135 sumps up the imaginary parts.
FIG. 2 is a schematic block diagram of the scrambling code group generator 100 shown in FIG. 1, which concurrently generates multiple scrambling code groups. Although it is the fact that only primary scrambling codes are to be used for common control channels and data channels, secondary scrambling codes may be used in place of the primary scrambling codes to increase the number of available communication links. For example, if base station A uses primary scrambling code B with available orthogonal codes C-H and all of the orthogonal codes C-H have been assigned to various channels, there are no more available orthogonal codes that can be assigned to new channels if a new terminal wants to communicate with base station A. In that case, instead of using primary scrambling code A, secondary scrambling code Z can be used in place of primary scrambling code A for the new channels, and orthogonal codes C-H can then be assigned to the new channels because the new channels use secondary scrambling code Z instead of primary scrambling code A. Thus, the new channels can be differentiated from the original channels that used the m-sequence codes C-H because the new channels use secondary scrambling code Z instead of primary code A. Thus the base station has to be capable of generating multiple scrambling code groups.
Referring to FIG. 2, the normal scrambling code group generator 100 includes a plurality of gold sequence generators 201 and a plurality of delays 203 corresponding to the gold sequence generators 201. Upon receiving control information about the scrambling codes for multiple channels from an upper layer, the gold sequence generators 201 generate scrambling codes, i.e., gold sequence codes based on the control information and output the generated scrambling codes to have an I-channel component. The delays 203 delay the scrambling codes with the I-channel component for a predetermined number of chips and generate delayed scrambling codes having a Q-channel component.
FIG. 3 is a schematic diagram showing the structure of a downlink receiver in the UMTS mobile communication system. For downlink common control channels, the receiver has to descramble the downlink common control signals which have been scrambled with the primary scrambling codes. Simultaneously, for downlink data channels, the receiver also has to descramble the signal scrambled with the secondary scrambling code when the downlink data channel uses secondary scrambling code. Thus the receiver must have a capacity of generating multiple scrambling codes.
Referring to FIG. 3, upon receiving signals from the transmitter as shown in FIGS. 1 and 2, the I- and Q-channel components of the received signals are fed into descramblers 310 and 315, respectively. A scrambling code group generator 300 concurrently generates scrambling codes corresponding to the respective channels and outputs them to the descramblers 310 and 315. Then, the descramblers 310 and 315 multiply the receives signals I+jQ by the conjugates of the scrambling codes received from the scrambling code group generator 300 to descramble the received signals, and then output the I- and Q-channel components of the descrambled signals to corresponding multipliers 320, 322, 324 and 326. Here, orthogonal codes assigned to the respective channels are despread at the multipliers 320, 322, 324 and 326 and output to corresponding demultiplexers 330 and 350. The demultiplexers 330 and 350 demultiplex the despread I- and Q-channel components, respectively.
FIG. 4 is a schematic block diagram of the scrambling code group generator 300 shown in FIG. 3, which concurrently generates multiple scrambling code groups. Although the scrambling code group generator 300 is to use primary scrambling codes for common control channels in fact, it can also use secondary scrambling codes for channels used depending on the users, such as data channels, in case of a lack of available orthogonal codes. Thus the mobile station has to be capable of generating multiple scrambling code groups.
Referring to FIG. 4, the scrambling code group generator 300 of the receiver includes a plurality of gold sequence generators 401 and a plurality of delays 403 corresponding to the gold sequence generators 401. Upon receiving control information about the scrambling codes for multiple channels from an upper layer, the gold sequence generators 401 generate gold sequence codes corresponding to the control information and output the generated gold sequence codes to have an I-channel component. The delays 403 delay the gold sequence codes with the I-channel component for a predetermined number of chips to generate the gold sequence codes of a Q-channel component.
FIG. 5 is a schematic diagram illustrating the structure of the gold sequence generators shown in FIGS. 2 and 4.
Referring to FIG. 5, a gold sequence is normally generated through binary adding to two distinct m-sequences. A shift register that generates the upper m-sequence is implemented with a generator polynomial defined as f(x)−x18+x7+1, and a shift register generating the lower m-sequence is implemented with a generator polynomial defined as f(x)=x18+x10+x7+x3+1.
In the present UMTS standard specification, there is no description for scrambling code numbering and its generation. Therefore, in the light of the UMTS standard specification the receiver and the transmitter require many scrambling code generators described above to generate multiple scrambling codes and thus uses distinct generators for the individual scrambling codes, which leads to an increase in the hardware complexity. Furthermore, when using gold sequences as the scrambling codes, the hardware complexity may be dependent on the way the scrambling codes are divided into primary and secondary scrambling codes and dependent on how the scrambling codes are numbered.